/**
 * @file Relay.h
 * @author 周晨阳 (2922462750@qq.com)
 * @brief 继电器抽象接口
 * @version 0.1
 * @date 2021-11-23
 * 
 * @copyright Copyright (c) 2021
 * 
 */
#ifndef RELAY_H
#define RELAY_H
#include "public.h"
/**
 * @enum 继电器状态枚举 
 * 
 */
typedef enum RELAY_STATE
{
    RELAY_STATE_OFF = 0, //未动作
    RELAY_STATE_ON = 1,  //动作
} RELAY_STATE;

#define MY_RELAY_COUNT 4

#define MY_RELAY_CHANNEL_0 0
#define MY_RELAY_CHANNEL_1 1
#define MY_RELAY_CHANNEL_2 2
#define MY_RELAY_CHANNEL_3 3

/**
 * @brief 获取继电器开合状态 
 * 
 * @param channel 继电器id
 * @return RELAY_STATE 
 */
RELAY_STATE getRelayState(u8 channel);
/**
 * @brief 设置继电器动作 
 * 
 * @param state 继电器状态
 */
void setRelay(u8 channel, RELAY_STATE state);

/**
 * @brief 重置所有继电器
 * 
 */
void resetRelay(void);
/**
 * @brief 继电器初始化
 * 
 */
void relayInit(void);
#endif
